package com.hospital.workstation.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.math.BigDecimal;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hospital.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 患者基本信息对象 patient_base_info
 *
 * @author whb
 * @date 2023-02-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("patient_base_info")
public class PatientBaseInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 患者ID
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 患者姓名
     */
    private String patientName;
    /**
     * 病历号
     */
    private Integer medicalRecordNo;
    /**
     * 就诊号码（HIS中就诊唯一标识）
     */
    private String paadmVisitNo;
    /**
     * ID号
     */
    private String patientNo;
    /**
     * 科室/病区ID
     */
    private Long deptId;
    /**
     * 入院时间
     */
    private LocalDateTime admissionTime;
    /**
     * 出院时间
     */
    private LocalDateTime dischargeTime;
    /**
     * 临床药师ID
     */
    private Long doctorId;
    /**
     * 临床药师名称
     */
    private String doctorName;
    /**
     * 床号
     */
    private String bedNo;
    /**
     * 第一诊断
     */
    private String firstDiagnose;
    /**
     * 监护分级（0一级 1二级 2三级）
     */
    private String guardianLevel;
    /**
     * 住院状态（0住院患者 1出院患者）
     */
    private String patientState;
    /**
     * 患者性别（1男 2女 3未知）
     */
    private String patientSex;
    /**
     * 年龄
     */
    private Integer patientAge;
    /**
     * 月份
     */
    private Integer patientMonth;
    /**
     * 出生日期
     */
    private Date birthdate;
    /**
     * 职业
     */
    private String patientProfession;
    /**
     * 民族
     */
    private String nation;
    /**
     * 身高（cm）
     */
    private BigDecimal patientHeight;
    /**
     * 体重（kg）
     */
    private BigDecimal patientWeight;
    /**
     * BMI（kg/㎡）
     */
    private BigDecimal patientBmi;
    /**
     * 联系方式
     */
    private String phoneNo;
    /**
     * 付费方式（0支付宝 1微信 2现金 07全自费）
     */
    private String payWay;
    /**
     * 患者信息来源（0手工录入 1HIS）
     */
    private String sourceInfo;
    /**
     * 入院次数
     */
    private String visitTimes;
    /**
     * 病案号
     */
    private String medicareNo;
    /**
     * HIS科室代码
     */
    private String paadDeptCode;
    /**
     * 入院病区代码
     */
    private String medicareWardCode;
    /**
     * 移除历史药历，传值0
     */
    private String moveHistory;
}
